home *** CD-ROM | disk | FTP | other *** search
/ Stone Design / Stone Design.iso / Stone_Friends / Wave / WavesWorld / Documentation / WW3DKit / stuff / cameras next >
Encoding:
Text File  |  1995-03-22  |  1.2 KB  |  39 lines

  1. we want a simple but powerful model for animating a camera.
  2.  
  3. a movieCamera will be an ordered set of stillCameras and
  4. cameraInterpolations.
  5.  
  6. A stillCamera is a set of parameters which, when applied to a given
  7. WW3DCamera, exactly reproduce some other camera.
  8.  
  9. a cameraInterpolation is a function which varies over u, something like:
  10.  
  11. proc aCameraInterpolater {u } {
  12.  
  13.   global startCam cam
  14.  
  15.   # the values in the startCam() array are read-only; they correspond to the 
  16.  
  17.   # now that we know the initial and final values for the camera, we
  18.   # need to set the current camera to some interpolated value based on
  19.   # this info and the current value of u.
  20.  
  21.  
  22.   return;
  23. }
  24.  
  25.  
  26. each time WW3DCamera's renderSelf: method gets called, it checks the
  27. currentFrame against the previousFrame.  If they're different, it does
  28. the following:
  29. - applies the current set of cam() values to the camera
  30.  
  31.  
  32. When the WW3DCamera starts up and initializes its tcl interp, it needs
  33. to set up variable traces for each of the cam() variables so that
  34. everytime they're read or written they go back to the real WW3DCamera
  35. to get them...
  36.  
  37. This gives me some problems - why?  check out the fieldOfView code 
  38. in WW3DCamera's awake...